Single Time-Stamped Tries for Retroactive Call Subsumption

نویسندگان

  • Flávio Cruz
  • Ricardo Rocha
چکیده

Tabling is an evaluation strategy for Prolog programs that works by storing answers in a table space and then by using them in similar subgoals. Some tabling engines use call by subsumption, where it is determined that a subgoal will consume answers from a more general subgoal in order to reduce the search space and increase efficiency. We designed an extension, named Retroactive Call Subsumption (RCS), that implements call by subsumption independently of the call order, thus allowing a more general subgoal to force previous called subgoals to become answer consumers. For this extension, we propose a new table space design, the Single Time Stamped Trie (STST), that is organized to make answer sharing across subsumed/subsuming subgoals simple and efficient. In this paper, we present the new STST table space design and we discuss the main modifications made to the original Time Stamped Tries approach to non-retroactive call by subsumption. In experimental results, with programs that stress some deficiencies of the new STST design, some overheads may be observed, however the results achieved with more realistic programs greatly offset these overheads.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Retroactive Subsumption-Based Tabled Evaluation of Logic Programs

Tabled evaluation is a recognized and powerful implementation technique that overcomes some limitations of traditional Prolog systems in dealing with recursion and redundant sub-computations. Tabling based systems use call similarity to determine if a tabled subgoal will produce their own answers or if it will consume from another subgoal. While call variance has been a very popular approach, c...

متن کامل

Efficient Retrieval of Subsumed Subgoals in Tabled Logic Programs

Tabling based systems use call similarity to decide when a tabled subgoal should produce or consume answers. Most tabling engines do that by using variant checks. A more refined method, named call subsumption, considers that a subgoal A will consume answers from a subgoal B if A is subsumed by B, thus allowing greater answer reuse. Recently, we have developed an extension, called Retroactive Ca...

متن کامل

Efficient instance retrieval of subgoals for subsumptive tabled evaluation of logic programs

Tabled evaluation is an implementation technique that solves some problems of traditional Prolog systems in dealing with recursion and redundant computations. Most tabling engines determine if a tabled subgoal will produce or consume answers by using variant checks. A more refined method, named call subsumption, considers that a subgoal A will consume from a subgoal B if A is subsumed by (an in...

متن کامل

cient Engine for Subsumption - Based Tabled Evaluation

Tabled resolution methods increase the declarativeness and eeciency of logic programs through the sharing of answer computations. In variant-based tabled logic programming systems, answer computations are shared only between calls that are identical modulo variable renaming. Subsumption-based tabling can yield superior performance by sharing answer computations between a more general (subsuming...

متن کامل

False Implications in Retroactive Choice Situations

What can time-travel cases tell us about rational choice? In particular, what can we learn about rational choice from what we may call retroactive choice situations, that is, from time-travel cases in which the circumstances where an agent makes a choice depend causally on the choice the agent makes? Such cases have been thought to call into question the dominant theory of rational choice among...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1112.3779  شماره 

صفحات  -

تاریخ انتشار 2011